Re: [GENERAL] JDBC and insert - stack overflow - Mailing list pgsql-interfaces

From Herouth Maoz
Subject Re: [GENERAL] JDBC and insert - stack overflow
Date
Msg-id l03130305b36f3179590d@[147.233.159.109]
Whole thread Raw
Responses Re: [INTERFACES] Re: [GENERAL] JDBC and insert - stack overflow
List pgsql-interfaces
At 17:09 +0300 on 24/05/1999, Crispin Miller wrote:


> Hi,
> I am afraid I am a newbie. Forgive me if this is a silly question-
> I'm trying to create a large database using JDBC to load the tables by
> calling executeUpdate with the statement "SQL INSERT INTO" + tableName +
> " VALUES (" etc...

JDBC questions belong in the Interfaces list, where I have now redirected
this thread.

The proper way to perform inserts is using a PreparedStatement, like this:

PreparedStatement pstmt = con.prepareStatement(   "INSERT INTO my_table (num,str,dt) VALUES (?,?,?)"
);

Then you loop, and in each iteration you do:
  pstmt.setInt( 1, myIntVariable);  pstmt.setString( 2, myStringVariable);  pstmt.setDate( 3, mySQLDateVariable);
  int rowCount = pstmt.executeUpdate();

Try this method. I'm not sure it will solve your stack problems. Usually,
stack overflow is due to deep recursion. But once you use this, you should
be wasting less memory anyway.

By the way, use con.setAutoCommit( false ) to have all the inserts in one
big transaction. It saves a lot of time.

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma




pgsql-interfaces by date:

Previous
From: Herouth Maoz
Date:
Subject: Re: [INTERFACES] Questions about INSERT INTO!
Next
From: Alex Turner
Date:
Subject: Retreiving Table info